21 research outputs found

    Adaptation des Protocoles des Composants par les Automates d'Interface

    No full text
    National audienceUn des objectifs de l'ingénierie des logiciels base de composants (CBSE) est de permettre la réutilisation des composants sans affecter leurs implémentations. Pour atteindre cet objectif, il est nécessaire de proposer des méthodes et des outils d'adaptation des composants avec leur environnement lorsque des incompatibilités se produisent au cours de leurs interactions. Dans ce papier, nous proposons une approche formelle d'adaptation des composants dont les protocoles comportementaux sont décrits par les automates d'interface, fin d'éliminer les disparités entre les composants aux niveaux des signatures et des protocoles. L'approche proposée tire profit de l'approche optimiste des automates d'interface. Ce formalisme permet de spécifer l'ordonnancement temporel des services requis et offerts des composants

    Assembly of components based on interface automata and {UML} component model

    No full text
    International audienceWe propose an approach which combines component UML model and interface automata in order to assemble components and to verify their interoperability. We specify component based system architecture with component UML model, and component interfaces with interface automata. Interface automata is a common Input Output (I/O) automata-based formalism intended to specify the signature and the protocol level of component interfaces. We improve interface automata approach by component UML model, in order to consider system architecture, in component composition and interoperability verification methods. Therefore, we handle in interface automata, the connection between components, and the hierarchical connections between composite components and their subcomponents

    An {I/O} Automata-based Approach to Verify Component Compatibility: Application to the {CyCab} Car

    No full text
    International audienceAn interesting formal approach to specify component interfaces is interface automata based approach, which is proposed by L. Alfaro and T. Henzinger. These formalisms have the ability to model both the input and output requirements of components system. In this paper, we propose a method to enrich interface automata by the semantics of actions in order to verify components interoperability at the levels of signatures, semantics, and protocol interactions of actions. These interfaces consist of a set of required and offered actions specified by Pre and Post conditions. The verification of the compatibility between interface automata reuse the L.Alfaro and T.Henzinger proposed algorithm and adapt it by taking into account the action semantics. Our approach is illustrated by a case study of the vehicle CyCab

    Refinement of Interface Automata Strengthened by Action Semantics

    Get PDF
    International audienceInterface automata are light-weight models that capture the temporal interface behavior of software components. They have the ability to model both the input requirements and the output behavior of a component. They support the compatibility check between interface models to ensure a correct interaction between components and they adopt an alternating simulation approach to design refinement. In this paper, we extend our previous works on checking interface automata interoperability by adapting their alternating refinement relation to the action semantics. We show the relation between pre and post-conditions of transitions in the abstract version of an interface and their corresponding ones in its concrete version. We illustrate our extensions by a case study of the CyCab car component-based system

    Adapting Components Behaviours using Interface Automata

    No full text
    International audienceOne of the principal goal of Component-Based Software Engineering (CBSE) is to allow the reuse of components in diverse situations without affecting their codes. To reach this goal, it is necessary to propose approaches to adapt a component with its environment when behavioural mismatches occur during their interactions. In this paper, we present a formal approach based on interface automata to adapt components in order to eliminate possible behavioural mismatches, and then insure more flexible interoperability between component

    Object-Oriented Component-based Design using Behavioral Contracts: Application to Railway Systems

    No full text
    In this report, we propose a formal approach for the design of object-oriented component-based systems using behavioral contracts. This formalism merges interface automata describingcommunication protocols of components with the semantics of their operations. On grounds ofconsistency with the object-oriented paradigms, we revisit the notions of incremental design andindependent implementability of interface automata by novel definitions of components compatibility,composition, and refinement. Our work is illustrated by a design case study of CBTC railway systems

    A Methodology for the Design of Safety-Compliant and Secure Communication of Autonomous Vehicles

    Get PDF
    International audience; The automotive industry is increasing its effort towards scientific and technological innovations regarding autonomous vehicles. The expectation is a reduction of road accidents, which are too often caused by human errors. Moreover, technological solutions, such as connected autonomous vehicle platoons, are expected to help humans in emergency situations. In this context, safety and security issues do not yet have a satisfactory answer. In this paper, we address the domain of secure communication among vehicles - especially the issues related to authentication and authorization of inter-vehicular signals and services carrying safety commands. We propose a novel design methodology, where we take a contract-based approach for specifying safety, and combine it in the design flow with the use of the Arrowhead Framework to support security. Furthermore, we present the results through a demo, which employs model-based design for software implementation and the physical realization on autonomous model cars

    Contributions à la vérification de la sûreté de l'assemblage et à l'adaptation de composants réutilisables

    No full text
    The aim of this thesis is to propose a formal approach based on interface automata to specify the contracts of reusable components and to verify their functional interoperability. The functional interoperability is checked at three levels : signature, semantics, and protocol. Interface automata are based on an « optimistic » approach that takes into account the environment constraints. This approach considers that two components are compatible if there is a suitable environment with which they can interact properly. First, we propose an approach allowing the integration of the semantics of the action parameters in interface automata in order to strengthen the compatibility and substitution check between components. Second, we were interested in adapting reusable components whose contracts are described by interface automata enriched by the action semantics. In this context, we propose an algorithm of automatic generation of an adaptor of two mismatched components if possible. Third, we have increased the expressive power of our proposed approach to verify the interoperability and the safety properties of components that communicate by interface variables defined at the level of their contracts. In particular, we study the preservation of invariants by composition and refinement.Cette thèse a pour objectif de proposer une approche formelle basée sur les automates d’interface pour spécifier les contrats des composants réutilisables et vérifier leur interopérabilité fonctionnelle. Cette interopérabilité se traduit par la vérification des trois niveaux : signature, sémantique, et protocole. Le formalisme des automates d’interface est basé sur une approche « optimiste» qui prend en compte les contraintes de l’environnement. Cette approche considère que deux composants sont compatibles s’il existe un environnement convenable avec lequel ils peuvent interagir correctement. Dans un premier temps, nous proposons une approche préliminaire qui intègre la sémantique des paramètres des actions dans la vérification de la compatibilité et de la substitution des composants spécifiés par des automates d’interface. Dans un second temps, nous nous somme intéressés à adapter les composants réutilisables dont les contrats sont décrits par des automates d’interface enrichis par la sémantique des actions. En ce sens, nous avons proposé un algorithme qui permet de générer automatiquement la spécification d’un adaptateur de deux composants lorsque celui-ci existe. Dans un troisième temps, nous avons augmenté le pouvoir d’expression de notre approche proposée pour vérifier l’interopérabilité et les propriétés de sûreté des composants qui communiquent par des variables définies au niveau de leurs contrats d’interface. En particulier, nous étudions la préservation des invariants par composition et par raffinement

    Contributions to the formal verification of the assembly and adaptation of reusable components

    No full text
    Cette thèse a pour objectif de proposer une approche formelle basée sur les automates d’interface pour spécifier les contrats des composants réutilisables et vérifier leur interopérabilité fonctionnelle. Cette interopérabilité se traduit par la vérification des trois niveaux : signature, sémantique, et protocole. Le formalisme des automates d’interface est basé sur une approche « optimiste» qui prend en compte les contraintes de l’environnement. Cette approche considère que deux composants sont compatibles s’il existe un environnement convenable avec lequel ils peuvent interagir correctement. Dans un premier temps, nous proposons une approche préliminaire qui intègre la sémantique des paramètres des actions dans la vérification de la compatibilité et de la substitution des composants spécifiés par des automates d’interface. Dans un second temps, nous nous somme intéressés à adapter les composants réutilisables dont les contrats sont décrits par des automates d’interface enrichis par la sémantique des actions. En ce sens, nous avons proposé un algorithme qui permet de générer automatiquement la spécification d’un adaptateur de deux composants lorsque celui-ci existe. Dans un troisième temps, nous avons augmenté le pouvoir d’expression de notre approche proposée pour vérifier l’interopérabilité et les propriétés de sûreté des composants qui communiquent par des variables définies au niveau de leurs contrats d’interface. En particulier, nous étudions la préservation des invariants par composition et par raffinement.The aim of this thesis is to propose a formal approach based on interface automata to specify the contracts of reusable components and to verify their functional interoperability. The functional interoperability is checked at three levels : signature, semantics, and protocol. Interface automata are based on an « optimistic » approach that takes into account the environment constraints. This approach considers that two components are compatible if there is a suitable environment with which they can interact properly. First, we propose an approach allowing the integration of the semantics of the action parameters in interface automata in order to strengthen the compatibility and substitution check between components. Second, we were interested in adapting reusable components whose contracts are described by interface automata enriched by the action semantics. In this context, we propose an algorithm of automatic generation of an adaptor of two mismatched components if possible. Third, we have increased the expressive power of our proposed approach to verify the interoperability and the safety properties of components that communicate by interface variables defined at the level of their contracts. In particular, we study the preservation of invariants by composition and refinement

    Vérification formelle d'algorithmes distribués en +CAL

    No full text
    Mémoire de master recherche en informatique de LorraineLa sûreté des systèmes répartis et distribués nécessite la vérification et la validation de certaines propriétés. Ces propriétés habituellement exprimées en logique temporelle sont vérifiées par rapport à un modèle formel du système. La technique de model-checking confirme si le modèle d'un algorithme valide ces propriétés ou non. Cependant, la spécification des algorithmes distribués est généralement manuelle ce qui réduit la garantie de sa conformité à l'algorithme de départ et remet en cause la validité de la vérification. L'automatisation de la construction du modèle est donc nécessaire à la garantie de la correction. L'outil +CAL permet d'écrire des algorithmes parallèles et distribués en une syntaxe fortement expressive traduite automatiquement en une spécification TLA+ vérifiable par le model-checker TLC. Du fait que +CAL est orienté vers l'algorithmique parallèle à mémoire partagée, il reste peu utilisé pour la description et la vérification des algorithmes distribués basés sur l'interaction entre processus par échange de messages. L'amélioration de l'outil +CAL et la mise en pratique de ce langage pour vérifier les algorithmes multi-processus dans le contexte distribué font l'objet de notre travail
    corecore